<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8" />
        <meta name="viewport" content="width=device-width, initial-scale=1.0" />
        <title>事件的基本使用</title>
        <!-- 引入 Vue -->
        <script type="text/javascript" src="../js/vue.js"></script>
    </head>
    <body>
        <!--
            事件的基本使用:
                1.使用v-on:xxx 或 @xxx 绑定事件，其中 xxx 是事件名；
                2.事件的回调需要配置在 methods 对象中，最终会在 vm 上；
                3.methods 中配置的函数，不要用箭头函数！否则 this 就不是 vm；
                4.methods 中配置的函数，都是被 Vue 所管理的函数，this 的指向是 vm 或组件实例对象；
                5.@click="demo" 和 @click="demo($event)" 效果一致，但后者可以传参；
         -->
        <!-- 准备好一个容器 -->
        <div id="root">
            <h2>欢迎来到{{name}}学习</h2>
            <!-- <button v-on:click="showInfo">点我提示信息</button> -->
            <button @click="showInfo1">点我提示信息1(传参)</button>
            <button @click="showInfo2($event, 66)">
                点我提示信息2(不传参)
            </button>
        </div>
    </body>

    <script type="text/javascript">
        Vue.config.productionTip = false;

        const vm = new Vue({
            el: '#root',
            data: {
                name: '尚硅谷',
            },
            methods: {
                showInfo1(event) {
                    // console.log(event.target.innerText);
                    // console.log(this); // 此处的 this 是 vm
                    alert('同学你好！');
                },
                showInfo2(event, number) {
                    console.log(event, number);
                    // console.log(event.target.innerText);
                    // console.log(this); // 此处的 this 是 vm
                    // alert('同学你好！！');
                },
            },
        });
    </script>
</html>
